import request from '@/utils/request'

// 获取权限列表
export function getPermissionList() {
  return request({
    url: '/system/permission/list',
    method: 'get'
  })
}

// 获取权限树结构
export function getPermissionTree() {
  return request({
    url: '/system/permission/tree',
    method: 'get'
  })
}

// 获取所有权限树结构（包括禁用的权限）
export function getAllPermissionTree() {
  return request({
    url: '/system/permission/allTree',
    method: 'get'
  })
}

// 根据ID获取权限信息
export function getPermissionById(id) {
  return request({
    url: `/system/permission/detail/${id}`,
    method: 'get'
  })
}

// 新增权限
export function addPermission(data) {
  return request({
    url: '/system/permission/add',
    method: 'post',
    data
  })
}

// 更新权限
export function updatePermission(data) {
  return request({
    url: '/system/permission/update',
    method: 'put',
    data
  })
}

// 删除权限
export function deletePermission(permissionId) {
  return request({
    url: `/system/permission/delete/${permissionId}`,
    method: 'delete'
  })
}

// 根据角色ID获取权限列表
export function getPermissionsByRoleId(roleId) {
  return request({
    url: `/system/permission/role/${roleId}`,
    method: 'get'
  })
}

// 根据用户ID获取权限列表
export function getPermissionsByUserId(userId) {
  return request({
    url: `/system/permission/user/${userId}`,
    method: 'get'
  })
}

// 切换权限状态
export function togglePermissionStatus(permissionId, status) {
  return request({
    url: `/system/permission/toggleStatus/${permissionId}/${status}`,
    method: 'put'
  })
}